"use strict";
// 代理购买 
module.exports = (app) => {
    const { STRING, INTEGER, DATE, ENUM } = app.Sequelize;
    // 配置（重要：一定要配置详细，一定要！！！）
    const CouponsAgent = app.model.define("coupons-agent", {
        id: {
            type: INTEGER(30).UNSIGNED,
            primaryKey: true,
            autoIncrement: true
        },
        wx_user_id: {
            type: INTEGER(30).UNSIGNED,
            allowNull: false,
            comment: '用户',
            //  定义外键（重要）
            references: {
                model: 'wx_user', // 对应表名称（数据表名称）
                key: 'id' // 对应表的主键
            },
            onUpdate: 'restrict', // 更新时操作
            onDelete: 'cascade'  // 删除时操作
        },
        coupons_id: {
            type: INTEGER(30).UNSIGNED,
            allowNull: false,
            comment: '券id',
            //  定义外键（重要）
            references: {
                model: 'coupons', // 对应表名称（数据表名称）
                key: 'id' // 对应表的主键
            },
            onUpdate: 'restrict', // 更新时操作
            onDelete: 'cascade'  // 删除时操作
        },
        agent_num: {
            type: INTEGER(30),
            allowNull: false,
            defaultValue: 0,
            comment: '代理购买数量',
        },
        share_num: {
            type: INTEGER(30),
            allowNull: false,
            defaultValue: 0,
            comment: '分享领取 数量',
        },
        created_at: DATE,
        updated_at: DATE,
    });
    // 定义关联关系
    CouponsAgent.associate = function (model) {
        CouponsAgent.belongsTo(app.model.Coupons, {
             foreignKey: 'coupons_id',
            //  as:'coupons'
        });
    };
    return CouponsAgent;
};
